home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Macromedia Multimedia Showcase 6.0
/
Macromedia Multimedia Showcase v6.0 WIN-MAC (XMSH60CD)(Macromedia, Inc.)(1996).iso
/
pc
/
demosoft
/
freehand
/
data.5
/
App
/
Usenglsh
/
lang8.dll
/
POST
/
1148
< prev
next >
Wrap
Text File
|
1996-10-03
|
3KB
|
101 lines
userdict begin /ropedict 85 dict def end
ropedict begin
/blocksetup
{ q translate rotate scale n } def
/blockend
{ closepath fill } def
/blockfinish
{ closepath fill Q } def
/movetoproc {
dup /sby xdf
/spy xdf
dup /sbx xdf
/spx xdf
sbx sby m
} def
/1stlinetoproc
{ /esy xdf /esx xdf
blockdata
/totdist totdist dist add def
/sbx esx def /sby esy def
deltax 0 ne deltay 0 ne and
{ /prevtotdeltax deltax def /prevtotdeltay deltay def } if
} def
/2ndlinetoproc
{ /esy xdf /esx xdf
bdflag false eq
{blockdata esx spx eq esy spy eq and{lastsegdist}if}if
offset ldelta add dist le
{
deltax 0 eq deltay 0 eq and
{/ang 0 def}{/ang deltay deltax atan def}ifelse
offset 0 lt
{/prevang prevdeltax 0 eq prevdeltay 0 eq and
{0}{prevdeltay neg prevdeltax neg atan}ifelse def
ang prevang sub abs dup 120 le exch 240 ge or
{/offset 0 def bdflag true eq
{
lastsegdist
}if
}if
}if
offset ldelta dist
{/curdelta xdf
/ldeltax ang cos curdelta ldelta 2 div add mul def
/ldeltay ang sin curdelta ldelta 2 div add mul def
bll2 blw ang sbx ldeltax add sby ldeltay add drawblock
/offset curdelta ldelta add dist sub def
ldelta offset abs .001 add gt {exit} if
}for
/prevdeltax deltax def /prevdeltay deltay def
/deltax 0 def /deltay 0 def
/sbx esx def /sby esy def
}if
}def
/1stcloseproc
{ spx spy 1stlinetoproc
}def
/2ndcloseproc
{sbx spx ne sby spy ne or{
/esx spx def /esy spy def blockdata /bdflag true def lastsegdist
spx spy 2ndlinetoproc}if
}def
/blockdata
{ /deltay esy sby sub def
/deltax esx sbx sub def
/dist deltay dup mul deltax dup mul add sqrt def
}def
/lastsegdist
{/dist dist offset sub ldelta div round ldelta mul offset add def
}def
end
/newrope
{
supdict begin
ropedict begin
/color xdf
colorchoice
/spacing xdf
/blw xdf
/bll xdf
/drawblock xdf
q {flattenpath}fp
/totdist 0 def /totdeltax 0 def /totdeltay 0 def
{movetoproc} {1stlinetoproc} {} {1stcloseproc} pathforall
/nm totdist bll spacing add div def
/nm2 nm floor def
nm2 0 ne
{
/fr nm nm2 sub def
/nm2 fr 0.5 ge {nm2 1 add} {nm2} ifelse def
/bll2 fr 0.5 ge {fr 1.0 sub} {fr} ifelse
bll spacing add mul nm2 div bll add spacing add def
/ldelta bll2 def
/bll2 bll2 bll bll spacing add div mul def
/offset 0 def /totdeltax 0 def /totdeltay 0 def /cnt 0 def
/prevtotdeltax 0 def /prevtotdeltay 0 def /bdflag false def
{movetoproc} {2ndlinetoproc} {} {2ndcloseproc} pathforall
} if
Q n end end
} def